<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NeuZephyr: NeuZephyr::Nodes::Computation::ScalarAddNode Class Reference</title>
<link rel="icon" href="NZ_logo2.png" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="NZ_logo2.png"/></td>
  <td id="projectalign">
   <div id="projectname">NeuZephyr
   </div>
   <div id="projectbrief">Simple DL Framework</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>NeuZephyr</b></li><li class="navelem"><a class="el" href="namespace_neu_zephyr_1_1_nodes.html">Nodes</a></li><li class="navelem"><a class="el" href="namespace_neu_zephyr_1_1_nodes_1_1_computation.html">Computation</a></li><li class="navelem"><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html">ScalarAddNode</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">NeuZephyr::Nodes::Computation::ScalarAddNode Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Represents a scalar addition operation node in a computational graph.  
 <a href="#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for NeuZephyr::Nodes::Computation::ScalarAddNode:</div>
<div class="dyncontent">
<div class="center"><img src="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node__inherit__graph.png" border="0" usemap="#a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_inherit__map" alt="Inheritance graph"/></div>
<map name="a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_inherit__map" id="a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_inherit__map">
<area shape="rect" title="Represents a scalar addition operation node in a computational graph." alt="" coords="5,80,219,123"/>
<area shape="rect" href="class_neu_zephyr_1_1_nodes_1_1_node.html" title="Base class for nodes in a neural network or computational graph." alt="" coords="27,5,197,32"/>
<area shape="poly" title=" " alt="" coords="115,48,115,80,109,80,109,48"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for NeuZephyr::Nodes::Computation::ScalarAddNode:</div>
<div class="dyncontent">
<div class="center"><img src="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node__coll__graph.png" border="0" usemap="#a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_coll__map" alt="Collaboration graph"/></div>
<map name="a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_coll__map" id="a_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_coll__map">
<area shape="rect" title="Represents a scalar addition operation node in a computational graph." alt="" coords="5,80,219,123"/>
<area shape="rect" href="class_neu_zephyr_1_1_nodes_1_1_node.html" title="Base class for nodes in a neural network or computational graph." alt="" coords="27,5,197,32"/>
<area shape="poly" title=" " alt="" coords="115,48,115,80,109,80,109,48"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a235d6593fe9a78391e6240d668a8b308" id="r_a235d6593fe9a78391e6240d668a8b308"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a235d6593fe9a78391e6240d668a8b308">ScalarAddNode</a> (<a class="el" href="class_neu_zephyr_1_1_nodes_1_1_node.html">Node</a> *input, Tensor::value_type scalar)</td></tr>
<tr class="memdesc:a235d6593fe9a78391e6240d668a8b308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor to initialize a <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> for scalar addition.  <br /></td></tr>
<tr class="separator:a235d6593fe9a78391e6240d668a8b308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247883603bc97f18d1e1faf1d77b14d4" id="r_a247883603bc97f18d1e1faf1d77b14d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4">forward</a> () override</td></tr>
<tr class="memdesc:a247883603bc97f18d1e1faf1d77b14d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forward pass for the <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> to perform scalar addition.  <br /></td></tr>
<tr class="separator:a247883603bc97f18d1e1faf1d77b14d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e64da53074374376623e03dad40e66" id="r_a39e64da53074374376623e03dad40e66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a39e64da53074374376623e03dad40e66">backward</a> () override</td></tr>
<tr class="memdesc:a39e64da53074374376623e03dad40e66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Backward pass for the <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> to propagate gradients.  <br /></td></tr>
<tr class="separator:a39e64da53074374376623e03dad40e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_neu_zephyr_1_1_nodes_1_1_node"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_neu_zephyr_1_1_nodes_1_1_node')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_neu_zephyr_1_1_nodes_1_1_node.html">NeuZephyr::Nodes::Node</a></td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents a scalar addition operation node in a computational graph. </p>
<p>The <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> class performs element-wise addition of a tensor and a scalar value. It is commonly used in computational graphs for offsetting tensor values or applying a bias term in various operations.</p>
<p>Key features:</p><ul>
<li><b>Forward Pass</b>: Adds a scalar value to each element of the input tensor and stores the result in the <code>output</code> tensor.</li>
<li><b>Backward Pass</b>: Propagates gradients from the <code>output</code> tensor back to the input tensor without modification, as the derivative of addition with respect to the input is 1.</li>
<li><b>Shape Preservation</b>: Maintains the shape of the input tensor in the <code>output</code> tensor.</li>
<li><b>Gradient Management</b>: Tracks whether gradients are required for the operation based on the properties of the input tensor.</li>
</ul>
<p>This class is part of the <code><a class="el" href="namespace_neu_zephyr_1_1_nodes.html" title="Contains classes and functionality for nodes in a neural network or computational graph.">NeuZephyr::Nodes</a></code> namespace and facilitates scalar-tensor addition operations in computational graphs.</p>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The scalar value is applied consistently across all elements of the input tensor.</li>
<li>A warning is issued indicating that scalar operations do not support saving to files, and users are encouraged to use matrix operations for model persistence.</li>
</ul>
</dd></dl>
<h3><a class="anchor" id="autotoc_md43"></a>
Usage Example:</h3>
<div class="fragment"><div class="line"><span class="comment">// Example: Using ScalarAddNode for scalar addition</span></div>
<div class="line">InputNode input({3, 3}, <span class="keyword">true</span>);  <span class="comment">// Create an input node with shape {3, 3}</span></div>
<div class="line">input.output-&gt;fill(10.0f);  <span class="comment">// Fill the input tensor with value 10.0</span></div>
<div class="line"> </div>
<div class="line"><a class="code hl_class" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html">ScalarAddNode</a> scalar_add_node(&amp;input, 5.0f);  <span class="comment">// Add 5.0 to the input tensor</span></div>
<div class="line">scalar_add_node.forward();  <span class="comment">// Perform the forward pass</span></div>
<div class="line">scalar_add_node.backward();  <span class="comment">// Propagate gradients in the backward pass</span></div>
<div class="line"> </div>
<div class="line">std::cout &lt;&lt; <span class="stringliteral">&quot;Output: &quot;</span> &lt;&lt; *scalar_add_node.output &lt;&lt; std::endl;  <span class="comment">// Print the result</span></div>
<div class="ttc" id="aclass_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_html"><div class="ttname"><a href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html">NeuZephyr::Nodes::Computation::ScalarAddNode</a></div><div class="ttdoc">Represents a scalar addition operation node in a computational graph.</div><div class="ttdef"><b>Definition</b> <a href="_nodes_8cuh_source.html#l01222">Nodes.cuh:1222</a></div></div>
</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward()</a> for the scalar addition computation in the <a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward</a> pass. </dd>
<dd>
<a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward()</a> for gradient propagation in the <a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward</a> pass.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd><ul>
<li>Scalar operations are not yet supported for saving to files. Use matrix operations as an alternative.</li>
</ul>
</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mgepahmge (<a href="https://github.com/Mgepahmge">https://github.com/Mgepahmge</a>)</dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024/12/05 </dd></dl>

<p class="definition">Definition at line <a class="el" href="_nodes_8cuh_source.html#l01222">1222</a> of file <a class="el" href="_nodes_8cuh_source.html">Nodes.cuh</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a235d6593fe9a78391e6240d668a8b308" name="a235d6593fe9a78391e6240d668a8b308"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a235d6593fe9a78391e6240d668a8b308">&#9670;&#160;</a></span>ScalarAddNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NeuZephyr::Nodes::Computation::ScalarAddNode::ScalarAddNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_node.html">Node</a> *</td>          <td class="paramname"><span class="paramname"><em>input</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Tensor::value_type</td>          <td class="paramname"><span class="paramname"><em>scalar</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor to initialize a <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> for scalar addition. </p>
<p>The constructor initializes a <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code>, which performs element-wise addition of a tensor and a scalar value. It establishes the connection between the input node and this node, prepares the output tensor with the appropriate shape and properties, and stores the scalar value for use during forward and backward passes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>A pointer to the input node. Its <code>output</code> tensor will be added to the scalar value. </td></tr>
    <tr><td class="paramname">scalar</td><td>The scalar value to add to each element of the input tensor.</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>The input node is added to the <code>inputs</code> vector to establish the connection in the computational graph.</li>
<li>The <code>output</code> tensor is initialized with the same shape as the input tensor, and the <code>requires_grad</code> property is determined based on the input tensor's gradient requirements.</li>
<li>A warning is issued indicating that scalar operations do not support saving to files, encouraging the use of matrix operations for models requiring persistence.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The scalar value is applied consistently across all elements of the input tensor during the forward pass.</li>
<li>This node supports automatic gradient tracking if the input tensor requires gradients.</li>
</ul>
</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward()</a> for the <a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward</a> pass implementation. </dd>
<dd>
<a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward()</a> for gradient propagation in the <a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward</a> pass.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd><ul>
<li>Scalar operations are not yet supported for saving to files. Use matrix operations as an alternative.</li>
</ul>
</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mgepahmge (<a href="https://github.com/Mgepahmge">https://github.com/Mgepahmge</a>)</dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024/12/05 </dd></dl>

<p class="definition">Definition at line <a class="el" href="_nodes_8cu_source.html#l00188">188</a> of file <a class="el" href="_nodes_8cu_source.html">Nodes.cu</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a39e64da53074374376623e03dad40e66" name="a39e64da53074374376623e03dad40e66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39e64da53074374376623e03dad40e66">&#9670;&#160;</a></span>backward()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NeuZephyr::Nodes::Computation::ScalarAddNode::backward </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Backward pass for the <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> to propagate gradients. </p>
<p>The <code><a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward()</a></code> method propagates the gradient of the loss from the output tensor back to the input tensor. Since the derivative of addition with respect to the input is 1, the gradient from the output tensor is directly copied to the input tensor's gradient.</p>
<ul>
<li>The method first checks if the input tensor requires gradients. If true, the gradient of the <code>output</code> tensor is copied to the gradient of the input tensor using <code>cudaMemcpy</code>.</li>
<li>The operation ensures efficient gradient propagation without any additional computation.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The backward pass assumes that the gradient of the <code>output</code> tensor is already computed and properly initialized.</li>
<li>This method does not modify the gradient values; it performs a direct transfer.</li>
</ul>
</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward()</a> for the scalar addition computation in the <a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward</a> pass.</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mgepahmge (<a href="https://github.com/Mgepahmge">https://github.com/Mgepahmge</a>)</dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024/12/05 </dd></dl>

<p>Implements <a class="el" href="class_neu_zephyr_1_1_nodes_1_1_node.html#a41914155871c84330701f9d1649b39f3">NeuZephyr::Nodes::Node</a>.</p>

<p class="definition">Definition at line <a class="el" href="_nodes_8cu_source.html#l00204">204</a> of file <a class="el" href="_nodes_8cu_source.html">Nodes.cu</a>.</p>

</div>
</div>
<a id="a247883603bc97f18d1e1faf1d77b14d4" name="a247883603bc97f18d1e1faf1d77b14d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a247883603bc97f18d1e1faf1d77b14d4">&#9670;&#160;</a></span>forward()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NeuZephyr::Nodes::Computation::ScalarAddNode::forward </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Forward pass for the <code><a class="el" href="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node.html" title="Represents a scalar addition operation node in a computational graph.">ScalarAddNode</a></code> to perform scalar addition. </p>
<p>The <code><a class="el" href="#a247883603bc97f18d1e1faf1d77b14d4" title="Forward pass for the ScalarAddNode to perform scalar addition.">forward()</a></code> method computes the element-wise addition of the input tensor and the scalar value. It uses a CUDA kernel to efficiently execute the operation in parallel on the GPU.</p>
<ul>
<li>A CUDA kernel (<code>ScalarAdd</code>) is launched to add the scalar value to each element of the input tensor.</li>
<li>The grid and block dimensions are dynamically calculated based on the size of the output tensor to optimize GPU parallelism.</li>
<li>The result of the addition is stored in the <code>output</code> tensor.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The addition operation is performed as <code>output[i] = input[i] + scalar</code> for each element of the tensor.</li>
<li>The scalar value is applied uniformly to all elements in the input tensor.</li>
</ul>
</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward()</a> for gradient propagation in the <a class="el" href="#a39e64da53074374376623e03dad40e66" title="Backward pass for the ScalarAddNode to propagate gradients.">backward</a> pass.</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mgepahmge (<a href="https://github.com/Mgepahmge">https://github.com/Mgepahmge</a>)</dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024/12/05 </dd></dl>

<p>Implements <a class="el" href="class_neu_zephyr_1_1_nodes_1_1_node.html#a64e42ba40199e35bfe453ef14b2d15c0">NeuZephyr::Nodes::Node</a>.</p>

<p class="definition">Definition at line <a class="el" href="_nodes_8cu_source.html#l00198">198</a> of file <a class="el" href="_nodes_8cu_source.html">Nodes.cu</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_a247883603bc97f18d1e1faf1d77b14d4_cgraph.png" border="0" usemap="#aclass_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_a247883603bc97f18d1e1faf1d77b14d4_cgraph" alt=""/></div>
<map name="aclass_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_a247883603bc97f18d1e1faf1d77b14d4_cgraph" id="aclass_neu_zephyr_1_1_nodes_1_1_computation_1_1_scalar_add_node_a247883603bc97f18d1e1faf1d77b14d4_cgraph">
<area shape="rect" title="Forward pass for the ScalarAddNode to perform scalar addition." alt="" coords="5,5,219,48"/>
<area shape="rect" href="namespace_neu_zephyr_1_1_kernels.html#ae16af33f05814c3e834a16f17b829cf3" title="Kernel function to add a scalar to each element of a matrix on the GPU." alt="" coords="267,5,404,48"/>
<area shape="poly" title=" " alt="" coords="219,24,251,24,251,29,219,29"/>
</map>
</div>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/C Program/Simple-CPP-DL-Framework/include/NeuZephyr/<a class="el" href="_nodes_8cuh_source.html">Nodes.cuh</a></li>
<li>D:/C Program/Simple-CPP-DL-Framework/src/<a class="el" href="_nodes_8cu_source.html">Nodes.cu</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
